package com.ktgj.flight.domain.InterfaceEntity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author wyj
 * @create 2021-09-15 12:59
 */
public class MoQueryOrderResponse extends MoResponse implements Serializable {
    /**
     * 订单ID
     */
    public String OrderID;

    /**
     * 父订单订单ID(去哪儿订单会拆单)
     */
    public String ParentOrderID;

    /**
     * 出票状态
     */
    public int OrderStatus;

    /**
     * 出票状态文字描述
     */
    public String OrderStatusMsg;

    /**
     * 应支付订单金额
     */
    public BigDecimal Amount;

    /**
     * 实际支付金额
     */
    public BigDecimal PayAmount;

    /**
     * 该订单实际已退金额
     */
    public BigDecimal RefundAmount;

    /**
     * 总乘机人数量
     */
    public int PassengerNum;

    /**
     * 政策类型
     */
    public int PolicyType;

    /**
     * 政策ID
     */
    public String PolicyID;

    /**
     * 行程类型 EnumHelper.TripType
     */
    public int TripType;

    /**
     * 退改签政策备注
     */
    public String RRemark;

    /**
     * 乘机人集合
     */
    public List<MoPassenger> ListMoPassenger;

    /**
     * 支付信息
     */
    public List<MoPayInfo> ListPayInfo;

    /**
     * 去程航段信息
     */
    public List<MoSegment> ListGoSegment;

    /**
     * 回程航段信息
     */
    public List<MoSegment> ListBackSegment;

    /**
     * 联系人信息
     */
    public MoContacts Contacts;

    /**
     * 订单基本信息
     */
    public BasicOrderInfo BasicOrderInfo;
    // 以下为新加 

    /**
     * 最晚出票时限
     */
    public Date IssDateLimit;

    /**
     * 支付时限（支付时间不可大于此时间）
     */
    public Date PayTimeLimit;

    /**
     * 出票平台
     */
    public String PlatCode;

    /**
     * 平台订单号
     */
    public String PlatOrderNo;

    /**
     * 订座记录编号
     */
    public String Pnr;

    /**
     * 换编码出票后的新 pnr，不需要换编码的则为空
     */
    public String NewPnr;

    /**
     * 票款合计
     */
    public BigDecimal Fare;

    /**
     * 税款合计
     */
    public BigDecimal TaxAmount;

    /**
     * 佣金合计
     */
    public BigDecimal CommAmount;

    /**
     * 申请退废票原因
     */
    public String RefundCase;

    /**
     * 子订单号列表
     */
    public List<ChildOrderId> ListChildOrderId;

    /**
     * 退票信息
     */
    public List<TicketOrderDetailRefundModel> RefundsList;

    /**
     * 第三方订单需要展示到前端的额外信息
     */
    public String OrderDesc;

    //领达下单后的航司大编
    public String bigPnr;

    //瑞丽支付时使用
    public int ExternalNo;
    public String serialNumber; //汇付支付订单号

    /**
     * PNR内容信息
     */
    public String xElement;

    public MoQueryOrderResponse() {
        ListMoPassenger = new ArrayList<MoPassenger>();
        ListPayInfo = new ArrayList<MoPayInfo>();
        ListGoSegment = new ArrayList<MoSegment>();
        ListBackSegment = new ArrayList<MoSegment>();
        Contacts = new MoContacts();
        this.BasicOrderInfo = new BasicOrderInfo();
        ListChildOrderId = new ArrayList<ChildOrderId>();
        RefundsList = new ArrayList<TicketOrderDetailRefundModel>();
    }
}
